﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.IO;
using CMD.BAL.CAT;


namespace CMD_DKT.Conf
{
    public class UISincroniza
    {

        public bool obtenerArchivos(String dir, string filtro)
        {
            
            string[] archivosTerritorio = this.listarArchivos(dir, filtro);

            if (archivosTerritorio.Length == 0)
                return false;
            else
            {
                foreach (string file in archivosTerritorio)
                {
                    try
                    {
                        FileInfo fkpi = new FileInfo(file);
                        string catalogo = fkpi.Name.Substring(0, (fkpi.Name.IndexOf("_")));
                        string date = file.Substring(file.LastIndexOf("_") + 1, (file.Length - 5 - file.LastIndexOf("_")));
                        long dateLong = -1;
                        try
                        {
                            dateLong = Convert.ToInt64(date);
                        }
                        catch { }
                        
                        this.InsertNMT_TMP_CAT_FILES(file, catalogo, dateLong);
                    }
                    catch (Exception ex)
                    {
                        //this.addText("Error insertando registro en NMT_TMP_CAT_FILES para el catálogo en el archivo" + file + "\n" + ex.Message);
                    }
                }

                return true;
            }
           
           
        }

        private string[] listarArchivos(String dir, string filtro)
        {
            string[] directorios = new string[0];
            try
            {
                directorios = Directory.GetFiles(dir, filtro, SearchOption.AllDirectories);
            }
            catch (Exception)
            {
                directorios = new string[0];
            }
            return directorios;
        }


        private void InsertNMT_TMP_CAT_FILES(string FULL_FILENAME, string CATALOG_NAME, long FILENAME_DATE)
        {
           
            //ejecutar store
            string consulta = String.Format("EXEC spInsertNMT_TMP_CAT_FILES '{0}','{1}',{2}", FULL_FILENAME, CATALOG_NAME, FILENAME_DATE);
            //CMD_DKT.DAL.SrvDB.ExecuteQuery(consulta);
            
        }

    }
}
